package ch12_容器框架与泛型.案例实践_产品排序;

import ch12_容器框架与泛型.Product;

//实现了Comparable 接口的产品类，以支持自然排序
public class ComparableProduct extends Product implements Comparable<Object>{

	public ComparableProduct(int id, String name, int inventory) {
		super(id, name, inventory);		//调用父类构造方法
	}

	//自然排序
	@Override
	public int compareTo(Object o) {	//this.getId()-p.getId();升序；
		ComparableProduct p =(ComparableProduct) o;	//造型
		//return值作为排序依据，值正该对象比o大排后面（默认升序）
		return 	p.getId()-this.getId();	//p的编号减去当前产品编号（即以编号降序排列）
	}

	public static ComparableProduct from(Product p) {
		int id = p.getId();
		String name = p.getName();
		int inventory = p.getInventory();
		return new ComparableProduct(id, name, inventory);
	}

}
